<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1.分支语句：根据条件 选择是否执行代码块
        // 2.循环：根据条件 重复执行代码块 
        // 3.函数 ：可以把代码块封装起来 ，需要的时候执行
        // if(false){
            // for(var i=0;i<3;i++){
            //     console.log(1111);
            //     console.log(2222);
            // }
        // }

        // 函数 写法 2种  1.命名式 申明式  2.匿名式 赋值式 
        // 1.命名式 定义函数
        /* 
        function 函数名(){
            // 要封装的代码
        }
        */

        // 函数的定义
        // 冗余代码
        // function fn(){
        //     console.log(1111);
        //     console.log(2222);
        // }
       
        // 函数的调用 ：函数名();
        // 提高复用性 
        // fn();
        // fn();
        // fn();
        // for(var i=0;i<3;i++){
        //     fn();
        // }

        // 2.匿名式 赋值式 

        /* 
        var fn = function(){
            // 执行代码
        }

        */
    //    调用: 函数名();

    // 定义一个函数
    // var fn = function(){
    //     for(var i=0;i<5;i++){
    //         console.log(i);
    //     }
    // }
    // fn();
    // fn();

    // 总结 ： 一、函数的定义： 1.命名式 2.匿名式   二、函数的调用 函数名();
    //通过函数： 绘制如下图形
    /* 

    *
    **
    ***
    ****
    
    */

function fn(){
    // var a = 10;
    // console.log(a);
    for(var i=1;i<=4;i++){
       document.write( "*".repeat(i)+"<br>" );
    }
}


for(var i=1;i<=3;i++){
    fn();
}
    

    </script>
</body>
</html>